package com.briup.ch03;
import java.util.Scanner;

/**
 * 对指定变量，指定的位数置为0或者1
 * 从右像所，从1开始计数
 */

public class Test05 {
    /**
     * @param value 指定的变量
     * @param n 要置为1的位数
     * @return 指定为1后的变量
     */
    public static int setBit1(int value,int n)
    {
        /*
        10:0000 1010
        1<<4=0001 0000
        10 | 1<<4=0001 1010
         */
        return value | (1<<(n-1));

    }
    /**
     * @param value 指定的变量
     * @param n 要置为0的位数
     * @return 指定为0后的变量
     */
    public static int setBit0(int value,int n)
    {
        /*
        10 :0000 1010
        1<<3=0000 1000
        10^1<<3=0000 0010
         */
        /*
        0:0000 0000
        1<<3:0000 1000
        0^1<<3=0000 1000
         */
        /*
        0:0000 0000
        1<<3:0000 1000 ~1<<3=1111 0111
        0&~1<<3:0000 0000
         */
        //return value^(1<<(n-1))
        return ~(1<<(n-1))&value;
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int value=sc.nextInt();
        int n=sc.nextInt();
        int ret1=setBit0(10,4);
        System.out.println("ret:"+ret1);
        int ret2=setBit1(10,5);
        System.out.println("ret:"+ret2);

    }
}
